package top.moonkit.rs_pro.service;

import com.mybatisflex.core.service.IService;
import top.moonkit.rs_pro.entity.User;
import top.moonkit.rs_pro.entity.vo.RegisterRequestVO;

/**
 * 用户表 服务层。
 *
 * @author moon
 * @since 0.0.1
 */
public interface UserService extends IService<User> {


    /**
     * 检查邮箱是否存在
     * @param email 邮箱
     * @return 是否存在
     */
    boolean checkEmailExists(String email);

    /**
     * 注册用户
     * @param registerRequest 注册信息
     * @return 注册用户
     */
    User registerUser(RegisterRequestVO registerRequest) ;

    User findByEmail(String email);

    /**
     * 根据账号查询用户
     * @param account 账号
     * @return  用户
     */
    User findUserByAccount(String account);
}
